package org.jeecg.modules.param.station.entity;

import java.io.Serializable;
import java.util.List;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecg.modules.param.pile.entity.BikePile;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: bike_station
 * @Author: 月月鸟
 * @Date:   2021-05-19
 * @Version: V1.0
 */
@Data
@TableName("bike_station")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="bike_station对象", description="bike_station")
public class    BikeStation implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private java.lang.String id;
	/**网点编号*/
	@Excel(name = "网点编号*", width = 15)
    @ApiModelProperty(value = "网点编号")
    private java.lang.String code;
	/**网点名称*/
	@Excel(name = "网点名称*", width = 15)
    @ApiModelProperty(value = "网点名称")
    private java.lang.String name;
	/**网点地址*/
	@Excel(name = "网点地址*", width = 15)
    @ApiModelProperty(value = "网点地址")
    private java.lang.String address;
    /**车桩数量*/
    @Excel(name = "车桩数*", width = 15)
    @ApiModelProperty(value = "车桩数")
    private int pileCount;
    /**区域编号*/
    @Excel(name = "区域编号*", width = 15)
    @ApiModelProperty(value = "区域编号")
    @TableField(exist = false)
    private java.lang.String areaCode;
    /**所属区域名*/
    @Excel(name = "区域", width = 15)
    @ApiModelProperty(value = "所属区域名")
    @TableField(exist = false)
    private java.lang.String areaName;
    /**经度*/
    @Excel(name = "经度", width = 15)
    @ApiModelProperty(value = "经度")
    private java.lang.String longitude;
    /**纬度*/
    @Excel(name = "纬度", width = 15)
    @ApiModelProperty(value = "纬度")
    private java.lang.String latitude;

    /**管理员ID*/
    @Excel(name = "管理员姓名", width = 15,dicCode = "id",dictTable = "sys_user",dicText = "realname")
    @ApiModelProperty(value = "管理员ID")
    @Dict(dicCode = "id",dictTable = "sys_user",dicText = "realname")
    private java.lang.String manageName;
    @ApiModelProperty(value = "管理员(名称)")
    @TableField(exist = false)
    private java.lang.String manageNameDictText;

    /**管理员电话*/
    @Excel(name = "管理员电话", width = 15)
    @ApiModelProperty(value = "管理员电话")
    private java.lang.String managePhone;
    /**状态(1启用0禁用)*/
    @Excel(name = "状态*(启用/禁用)",width = 15,dicCode = "mode_type")
    @Dict(dicCode = "mode_type")
    @ApiModelProperty(value = "状态(1启用0禁用)")
    private java.lang.String status;
    /**启用时间*/
    @Excel(name = "启用时间",format ="yyyy-MM-dd HH:mm:ss",width = 10)
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "启用时间")
    private java.util.Date enableTime;
    /**是否自动获取定位(1是0否)*/
    @Dict(dicCode = "yn")
    @Excel(name ="是否自动获取定位*(是/否)",width = 10,dicCode = "yn")
    @ApiModelProperty(value = "是否自动获取定位(1是0否)")
    private java.lang.String isLocation;
    /**是否注册(默认否)*/
    @Excel(name = "是否注册(是/否)",width = 15 ,dicCode = "yn")
    @ApiModelProperty(value = "是否注册(默认否)")
    @Dict(dicCode = "yn")
    private java.lang.String isRegister;
    /**是否定位*/
    @Excel(name = "是否定位", width = 15,dicCode = "yn")
    @ApiModelProperty(value = "是否定位 1是 0否")
    @TableField(exist = false)
    private java.lang.String locationStatus;
    /**管理卡是否下发成功(1是0否)*/
    @Excel(name = "管理卡是否下发成功(是/否)",width = 15 ,dicCode = "yn")
    @ApiModelProperty(value = "管理卡是否下发成功(1是0否)")
    @Dict(dicCode = "yn")
    private java.lang.String isManager;
    /**是否锁定(默认否)*/
    @Dict(dicCode = "yn")
    @Excel(name = "是否锁定(是/否)", width = 15,dicCode = "yn")
    @ApiModelProperty(value = "是否锁定(默认否)")
    private java.lang.String isLock;
    /**锁定原因*/
    @Excel(name = "锁定原因", width = 15)
    @ApiModelProperty(value = "锁定原因")
    private java.lang.String lockCause;

    /**故障原因*/
    @Excel(name = "故障原因", width = 15)
    @ApiModelProperty(value = "故障原因")
    @TableField(exist = false)
    private java.lang.String heartStatus;
    /**版本号*/
    @Excel(name = "版本号", width = 15)
    @ApiModelProperty(value = "版本号")
    private java.lang.String versionCode;
    /**最新版本号*/
    @Excel(name = "最新版本号", width = 15)
    @ApiModelProperty(value = "最新版本号")
    @TableField(exist = false)
    private java.lang.String newVersionCode;
    /**是否最新版本号*/
    @ApiModelProperty(value = "是否最新版本号")
    @TableField(exist = false)
    private java.lang.String isNewVersion;
    /**Mac地址*/
    @ApiModelProperty(value = "Mac地址")
    private java.lang.String macAddress;

    /**所属区域ID*/
    //@Excel(name = "所属区域ID",width = 0)
    @ApiModelProperty(value = "所属区域ID")
    private java.lang.String areaId;
    /**后端计算车数*/
    @ApiModelProperty(value = "车数量")
    @TableField(exist = false)
    private int vehicleCount;

    /**所属区域数组*/
    @ApiModelProperty(value = "所属区域数组")
    @TableField(exist = false)
    private String[] areaArray;

    /**用户权限集合*/
    @ApiModelProperty(value = "所属区域数组")
    @TableField(exist = false)
    private List<String> areaUserList;
	/**路名*/
	//@Excel(name = "路名",width = 0)
    @ApiModelProperty(value = "路名")
    private java.lang.String roadName;
	/**GPRS*/
	//@Excel(name = "GPRS", width = 0)
    @ApiModelProperty(value = "GPRS")
    private java.lang.String gprs;



	/**低电压阈值*/
	//@Excel(name = "低电压阈值",width = 0)
    @ApiModelProperty(value = "低电压阈值")
    private java.lang.String lowVoltage;




	/**报警方式*/
	//@Excel(name = "报警方式",width = 0)
	@Dict(dicCode = "warning_type")
    @ApiModelProperty(value = "报警方式")
    private java.lang.String warningType;

	/**创建人*/
	@Excel(name = "创建人",width = 0)
    @ApiModelProperty(value = "创建人")
    private java.lang.String createBy;
	/**创建时间*/
    //@Excel(name = "创建时间",format ="yyyy-MM-dd HH:mm:ss",width = 0)
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private java.util.Date createTime;
	/**修改人*/
    @ApiModelProperty(value = "修改人")
    private java.lang.String updateBy;
	/**修改时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "修改时间")
    private java.util.Date updateTime;
	/**备注*/
    @ApiModelProperty(value = "备注")
    private java.lang.String memo;

    /**判断网点是否有禁用车桩*/
    @ApiModelProperty(value = "判断网点是否有禁用车桩 常闭 1 无 0 有")
    @TableField(exist = false)
    private int isDisable;
    /**是否警报*/
    @ApiModelProperty(value = "是否警报 1是0否")
    @Dict(dicCode = "yn")
    private java.lang.String isWarning;
    /**判断网点是否有故障*/
    @ApiModelProperty(value = "判断网点是否有故障  1 无 0 有")
    @TableField(exist = false)
    private int isFault;
    /**判断是否断线*/
    @ApiModelProperty(value = "判断是否断线  1 无 0 有")
    @TableField(exist = false)
    private int isBreakLine;
    /**车桩信息*/
    @ApiModelProperty(value = "车桩信息")
    @TableField(exist = false)
    private List<BikePile> bikePile;
    /**异常数量*/
    @ApiModelProperty(value = "异常数量")
    @TableField(exist = false)
    private Integer abnormalCount;
    /**距离*/
    @TableField(exist = false)
    private Double distance;

    /**负责人id*/
    @ApiModelProperty(value = "负责人id")
    @TableField(exist = false)
    private String UserId;
}
